查看原文
其他

AI版知乎

shadow chi 无界社区mixlab 2022-06-06



有没有想过在知乎上提问,不是人来回答你的问题,而是机器来回答?


这篇文章介绍一个实现思路,利用技术大批量回答「知乎」上的问题。


作为一个个体知识量的储备是有限的,况且每天信息更新这么快,我们又这么忙,哪有空余的时间是一个个信息学习,理解,消化。

 

这时候,机器的作用就大了。机器可以海量的存储数据,快速处理数据,提取我们关心的内容,我们人类只需要做二次加工即可

 

趁今天周五,我忙里偷闲,写了几行代码,完成了一个知乎答题AI



实现的步骤如下:


STEP 01 我关心的话题

打开知乎创作者中心,打开功能下的问题推荐,点击管理擅长话题,输入我关心的话题,比如”人工智能“,然后打开chrome开发者工具,console面板注入:


var as=document.querySelectorAll('.ToolsGoodAtTopic-topicButton');
for(let i=0;i<as.length;i++){
    as[i].click();
};


自动添加我关心的子话题。



 

ps:知乎关心的话题是有数量限制的,后续可以再写个代码,批量去掉关心的子话题。



STEP 02 获取推荐问题

批量获取知乎推荐的问题,在开发者工具console面板,注入以下代码:


//获取知乎推荐的问题
async function postData(_limit = 100) {
    var _url = "https://www.zhihu.com/api/v4/contributor-personalized-questions?limit=" + _limit + "&offset=0&new=0&include=data%5B*%5D.label%2Creason_info%2Cexcerpt";
    return new Promise(function (resolve, reject) {
        fetch(_url, {
            method'GET'// *GET, POST, PUT, DELETE, etc.
            mode: 'no-cors'// no-cors, cors, *same-origin
        })
            .then(response => response.json())
            .then(data => {
                var res = "";
                data.data.forEach((d) => {
                    res += d.question.title + "\n";
                });
                console.log(res)
                resolve(res);
            });
    })
};


我拉取了500条,


postData(500


如图所示:




STEP03 通过GET写作来回答问题

答题环节主要利用GET写作的一些功能,批量计算了这500个问题里,哪些值得回答,并且把答案准备好,推荐给我,此部分基于GET写作的功能实现。

 

我把展示下其中一个问题的结果,如下图。


AI把答案需要涉及的点分门别类整理了出来,是不是很方便就可以二次编辑,创作?




STEP04 人机协作

这时候,我们只需要挑选感兴趣的问题,稍微修改下,就可以回答啦~

 

这里为了节省时间,我稍微修改了下以上的代码,把知乎问题的url,也保留了下来,方便点击链接直接复制答案,跳转到知乎去回答问题。


var res={}
data.data.forEach((d) => {
  res[d.question.title]=d.question.url
});
console.log(res) 


后续可以考虑开发一个自动发布工具,把答案直接发布到知乎。


欢迎加入mixlab无界社区共同探索,

可以加shadow的朋友圈,或者知识星球。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存